package com.twb.netty.handler;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSONObject;
import com.twb.netty.entity.NettyMessage;

public class NettySendMsgUtil {
	protected static Logger log = LoggerFactory.getLogger(NettySendMsgUtil.class);

	/**
	 * @Title sendMsg
	 * @Description 发送消息
	 * @param message
	 * @author DHL
	 * @date 2021年7月7日 上午10:26:24
	 */
	public static void sendMsg(NettyMessage message) {
		if (message != null && StringUtils.isNotBlank(message.getContent())) {

			if (StringUtils.isNotBlank(message.getAppIdReceiverUserIdGroup())) {
				// 发送给指定用户
				NettyChannelHandlerPool.writeAndFlush(message.getContent(), message.getAppIdReceiverUserIdGroup());
			} else if (StringUtils.isNotBlank(message.getAppId())) {
				// 发送给项目所有人
				NettyChannelHandlerPool.writeAndFlush(message.getContent(), message.getAppId());
			} else {
				// 发送给所有人
				NettyChannelHandlerPool.writeAndFlush(message.getContent());
			}
			log.info("==========【NETTY SEND MSG】" + JSONObject.toJSONString(message));

		}
	}

	/**
	 * @Title sendMsg
	 * @Description 收到信息后，群发给group所有channel
	 * @param msg
	 * @param group
	 * @author DHL
	 * @date 2021年7月8日 下午3:45:58
	 */
	public static void sendMsg(String msg, String group) {
		NettyChannelHandlerPool.writeAndFlush(msg, group);
	}

	/**
	 * @Title sendMsg
	 * @Description 收到信息后，群发给所有channel
	 * @param msg
	 * @author DHL
	 * @date 2021年7月8日 下午3:46:08
	 */
	public static void sendMsg(String msg) {
		NettyChannelHandlerPool.writeAndFlush(msg);
	}
}
